Current pre-press workflow and desktop publishing use an electronic page description file to track the specifications of how the page should be appear when printed or displayed. The file is a digital representation of the page to be printed. To print or display the page, it is translated into a scheme of pixels by a process called rasterization. The pixels correlate to locations on the page and represent black and white, shades of gray, or colors that make up the page. The output device, such as printer or monitor, can render the page according to the pixels. Some pre-printing processes use a display list which is an intermediary file between the page description file and the rasterized form. The elements of the page are identified as objects (text, shapes, etc.) and listed with respect to a Cartesian graph (x-axis, y-axis and z-axis). The z-order display list is a way of representing the painting model that indicates the temporal order of the objects, i.e., along the z-axis, as described in Section 4 of the PostScript Language Reference Manual, third edition, published by Adobe Systems Limited (“PostScript Manual”).
Trapping is the process of modifying a page to be printed so as to allow for the possibility of misregistration between the multiple colored plates used in the printing process. Without trapping, a boundary or border between two objects which comprises two colors using different colorants (inks) could show a conspicuous white gap (light leak). Objects are elements on the page to be printed, such as a rectangle, fill, image, blend, text, etc. A trap is introduced at this boundary. The trap is a thin line positioned over the boundary in a color calculated such that the net result is that after the trap is applied, the two objects overlap. Thus, if misregistration occurs, within the limits of the size of the trap, the overlap prevents a white line appearing.
Many designers do not like the visual impact of trapping their designs. A good trapping solution will change the look of the page as little as possible in order to cover misregistration artifacts, while keeping the traps as unobtrusive as possible.
Trapping, when used, involves notoriously extensive computation. A typical page has areas of high color, such as illustrations (linework) or pictures (images), as well as less complex areas, often of black text on a white or plain background. Trapping is usually necessary on the high-color areas, and rarely on the simpler ones.
Existing trapping engine types include raster trappers, which typically act on an Run Length Encoded (RLE) representation of the whole page, and planarized vector trappers, where trapping is performed on a display list, but without z-order information, i.e., flattened. The raster trapper must consider each color transition at span boundaries for trapping, and the planarized vector trapper must do the same at every edge of its planarized vector map. Run Length Encoding is a commonly used representation of raster data where pixels on the same scan line which share a color value are stored as a series of spans. Spans comprise a run length (count of pixels) and a color value. The form of RLE typically used in raster trappers is flattened, that is, the spans abut each other exactly and are guaranteed not to overlap. The raster trapper must inspect the color values of each pair of neighboring spans, in both the x and y directions. A planarized vector map, on the other hand, is a representation of marks on a page which comprises a series of non-intersecting, tessellating, simple polygons, each with a distinct color.
What is needed is a way of trapping a page efficiently, and with the opportunity of introducing extra refinements in quality. This invention provides these and other features.